<?php

/**
 * Сравнивает значение с минимально допустимым.
 *
 */
class Kernel_Validator_LessThan extends Kernel_Validator_Extreme {

    /**
     * Сообщение об ошибке, если значение выходит за предел включительно.
     *
     * @var string
     */
    protected $ERROR_INCLUSIVE = 'VALIDATION_ERROR_LESS_INCLUSIVE';

    /**
     * Сообщение об ошибке, если значение выходит за предел не включительно.
     *
     * @var string
     */
    protected $ERROR_STRICT = 'VALIDATION_ERROR_LESS_STRICT';

    /**
     * Минимальное допустимое значение.
     *
     * @var mixed
     */
    public $max;

    /**
     * Возвращает предельное значение.
     *
     * @return  mixed
     */
    protected function _getExtreme() {
        return $this->max;
    }

    /**
     * Сравнивает значение с предельным.
     *
     * @param   mixed $value
     * @param   mixed $extreme
     * @return  boolean
     */
    protected function _compare($value, $extreme) {
        return $this->inclusive ? $value <= $extreme : $value < $extreme;
    }
}
